Skip to content

Conversation

andretg
Copy link
Member

@andretg andretg commented Oct 14, 2026

Endringer

  • npm run import:tools henter 95 verktøytyper og 23 merker fra Wikidata (CC0) og lagrer dem som JSON. Verktøytypene velges med faste ID-er, fordi kategoriene i Wikidata ga mye støy.
  • Ny migrasjon legger til created_at i listings.
  • generateListings lager varierte annonser med fast seed-verdi: skjev fordeling, 20 % gratis, mange like priser, varierte titler og norske beskrivelser, og datoer over et år.
  • npm run seed:large setter inn 10 000 annonser (eller --count N) i én transaksjon. Skriptet rører ikke listing-001–010.
  • Ny docs/datasett.md med kilde og fordelinger README, docs/vm-backend.md og docs/ki-bruk.md er oppdatert.

Hvorfor

10 annonser var for lite til å vise at søk, filtrering, sortering og paginering skalerer, som både oppgaveteksten og medstudentvurderingen påpekte.

Testing

  • 11 nye Vitest-tester for generatoren
  • typecheck, lint og format:check
  • Migrasjon testet med up/down mot lokal database
  • seed:large gir 10 000 nye, og 0 ved ny kjøring (0,3 s for 10 000, 1,2 s for 50 000)
  • Datasettet er lastet inn på VM-en

Etter merge

På VM-en, i ~/T36-Project-2/backend: git pull, npm ci, npm run migrate og npm run seed:large.

Issue

Closes #39

Henter 95 verktøytyper og 23 merker som selges i norske butikker fra Wikidata (CC0) og lagrer dem som JSON, slik at seeding ikke avhenger av at Wikidata er tilgjengelig. Verktøytypene velges med faste Wikidata-ID-er fordi kategoritrærne i Wikidata er for støyete til automatisk filtrering.

Refs #39
Nesten alle beskrivelsene var på engelsk og beskrev verktøytypen generelt. Annonsene får egne norske beskrivelser når datasettet genereres.

Refs #39
Ny migrasjon legger til created_at i listings. Eksisterende rader får tidspunktet migrasjonen kjøres, og seed-skriptet kan sette egne datoer for genererte annonser.

Refs #39
Genererer annonser fra ekte verktøytyper og merker med fast frø, skjev fordeling mellom kategorier og områder, 20 % gratis utlån, runde priser, varierte titler og beskrivelser og opprettelsesdatoer spredt over et år. Tekster og merker velges per verktøygruppe, slik at de passer til verktøyet.

Refs #39
npm run seed:large setter inn 10 000 genererte annonser i bolker i én transaksjon. Antall kan settes med --count, og --replace erstatter tidligere genererte annonser. Skriptet er idempotent og rører ikke de vanlige seed-annonsene.

Refs #39
Beskriver datakilden (Wikidata, CC0), hvordan det store datasettet genereres og kjøres, fordelingene og målte tider for seeding og spørringer ved 10 000 og 50 000 annonser.

Refs #39
Seed-verdi er det vanlige ordet for startverdien til tilfeldighetsgeneratoren. Retter også formateringen av KI-loggen.

Refs #39
@andretg andretg added this to the Innlevering 2 milestone Oct 14, 2026
@andretg andretg requested a review from a team as a code owner October 14, 2026 18:35
Copy link
Member

@tordtst tordtst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vanskelig å finne bra datasett til verktøy, men jeg syntes dette ble en bra løsning!

@tordtst tordtst merged commit 5f40123 into dev Oct 14, 2026
@andretg andretg deleted the 39-feat-generer-stort-og-variert-datasett branch October 18, 2026 19:26
Sign in to join this conversation on GitHub.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants